package main

import (
	"fmt"
	"strconv"
	"time"
)

/*
接收 --》 判断 --》获取数据 --》 判断年龄 --》 输出结果
*/
//获取出生年月日：第7个到第14个
func main() {
	//string = input("输入一个身份证号(以4开头，18位)：")
	var SFZ string
	fmt.Println("请输入身份证号")
	_, err := fmt.Scanln(&SFZ)
	if err != nil {
		fmt.Println("输入错误")
		return
	}
	//读取用户输入的
	//reader := bufio.NewReader(os.Stdin)
	//判断身份证是否以4开头，长度是否为18位
	if SFZ[0] != '4' && len(SFZ) != 18 {
		fmt.Println("错误！身份证应该以4开头，字符串长度必须为18位")
	}
	//拿出身份证号码上面的出生日期
	date := SFZ[6:14]
	fmt.Println(date)
	//给变量接收年月日
	year, _ := strconv.Atoi(SFZ[6:10])
	month, _ := strconv.Atoi(SFZ[10:12])
	day, _ := strconv.Atoi(SFZ[12:14])
	//给对象接收数据
	Date := time.Date(year, time.Month(month), day, 0, 0, 0, 0, time.UTC)
	//抓取现在的时间
	//currentDate := time.Now() //获取当前时间，类型是Go的时间类型Time
	now := time.Now()
	fmt.Println(now)
	//currentTime := time.Now()
	//fmt.Println("当前时间字符串：", currentTime.String())
	//计算age
	if now.Sub(Date).Hours()/24/365 > 18 {
		fmt.Println("满了18岁，录用")
	} else {
		fmt.Println("没满18，劝退")
	}

}
